#-*-coding:utf-8-*-
# 字符串匹配
import  re

def getAllNum(testStr):
	# d 匹配数字0-9
	# +匹配前面的字符一个或者多个
	return re.findall(r'\d+',testStr)

def getAllIntAndFloat(testStr):
	# ? 匹配前一个字符串0次或者1次
	# .? 匹配.一次或者多次
	return re.findall(r'\d+\.?\d*',testStr)

# # 匹配正整数
# def getAllNegativeIntNumber(testList):
# 	return [i for i in testList if re.match(r'^[1-9]\d*$]')]

if __name__ == "__main__":
	testStr = "use python to make game !"
	pat = "python"
	# 找出第一个子串的位置
	r = re.search(pat,testStr)

	reCompile = re.compile("python")
	# match 则不能查找出来python
	# match 是从头开始匹配
	# search 可以 则是查找到第一个就可以
	print reCompile.match(testStr)
	print reCompile.search(testStr).span()

	# try:
	# 	print r.span()
	# 	print mr.span()
	# except Exception as e:
	# 	# 两者打印出来的东西一样
	# 	print e.message
	# 	print e
	# finally:
	# 	# 无论如何一定会走到finally里面
	# 	print "nothing exception"

	print getAllNum("asd789mdd22")
	print getAllIntAndFloat("assd2.356smd88sms0")


	pass